The present invention relates to a method and system of sharing a three-dimensional virtual reality space. The present invention further relates to a method of information processing, an information recording medium, a method of information recording, an information transmission medium, a method of information transmission, and a shared server terminal. More particularly, the present invention relates a shared server terminal suitably for use in a cyberspace system to be provided to unspecified users.
A cyberspace service named Habitat (trademark) is known in personal computer communications services, such as NIFTY-Serve (trademark) of Japan and CompuServe (trademark) of the US. In the Habitat service, a plurality of users connect their personal computers via modems and the public telephone network to host computers installed at the centers of the services to access them in predetermined protocols. Development of Habitat was started in 1985 by LucasFilm of the US, operated by QuantumLink, one of the US commercial networks, for about three years. Then, Habitat started its service in NIFTY-Serve as Fujitsu Habitat (trademark) in February 1990. In Habitat, users can send their alter egos called avatars (the incarnation of a god figuring in the Hindu mythology) into a virtual city called Populopolis, drawn by two-dimensional graphics, to have a chat with each other. A chat is a realtime conversation based on text entered and displayed. For further details of Habitat, refer to "Cyberspace: First Steps," Michael Benedikt, ed., 1991, MIT Press Cambridge, Mass., ISBN0-262-02327-X, the translation being published Mar. 20, 1994, by NTT Publishing, ISBN4-87188-265-9C0010, pp. 282-307.
In the related art, cyberspace systems operated on such communications services as mentioned above, a virtual street, a virtual room interior, and the like are drawn in two-dimensional graphics. In such an environment, behavior of an avatar backward or forward is realized simply by moving it up or down in a two-dimensional background, providing poor representation for enabling the user to experience walking or behavior in the virtual space. Because this scheme makes the user look at the virtual space in which the user's avatar and another user's avatar are shown from the viewpoint of a third person, the sense of a realistic pseudo experience is marred to a large extent. Therefore, realization of realistic walk-through capability has been awaited by the industry concerned, in which the virtual space is displayed in three-dimensional graphics and an avatar can walk freely in the virtual space from the viewpoint of avatar itself, thus enhancing the realism of the pseudo experience.
On the other hand, for a related art example for realizing the sharing of a three-dimensional virtual reality space on a network, a system as shown in FIG. 29 is known in which terminals are interconnected by the LAN (Local Area Network) installed in companies or laboratories. In this example, three client terminals 213-1 through 213-3 are connected to a server terminal 211-1 via a LAN. The server terminal 211-1 is constituted to output image data of a virtual reality space to each of the client terminals 213-1 through 213-3 to display the virtual reality space thereon.
In the above-mentioned example, a cylindrical object 201, a quadrangular prism object 202, and a conical object 203 are displayed on a display device of each of the client terminals 213-1 through 213-3. The server terminal 211-1 controls the cylindrical object 201, the quadrangular prism object 202, and the conical object 203 using object identification codes (IDs) obj201, obj202, and obj203 respectively.
For example, if a command is given from an input device of the client terminal 213-1 to move the cylindrical object 201 displayed on the same to a specific position, the client terminal 213-1 outputs a request to the server terminal 211-1 for moving the object ID obj201 assigned thereto. Receiving this request, the server terminal 211-1 outputs a request to the other client terminals 213-2 and 213-3 for moving the object ID obj201. Positional data (move data) entered in the client terminal 213-1 are supplied to the client terminals 213-2 and 213-3 through the server terminal 211-1.
The client terminal 213-1 generates image data for moving the cylindrical object 201 (the object ID obj201) to the specified position according to the operation made on its input device and displays the generated image data on its display device. The other client terminals 213-2 and 213-3 also generate the image data for moving the cylindrical object 201 of the same object ID obj201 to display the generated image data on their respective display devices.
Each of the above-mentioned objects 201 through 203 and an object representing an avatar, or an alter ego of a user, can move around in a virtual reality space, enter it, and exit from it. In other words, these objects change (update) their states in the virtual reality space. So, each of these objects is called an update object as appropriate hereinafter. On the other hand, an object representative of a building constituting a town in the virtual reality space is used commonly by a plurality of users and does not change in its basic state. Even if the building object changes, it changes autonomously, namely it changes independent of the operations made at client terminals. Such an object commonly used by a plurality of users is called a basic object as appropriately hereinafter.
In the related art system, the object IDs controlled by the server terminal 211-1 are commonly used by the client terminals 213-1 through 213-3 connected to the server terminal 211-1. Namely, these object IDs functions as global IDs (global identification codes).
Therefore, in the client terminal 213-1 for example, if a new object is generated and a request for increasing the number of object IDs (global IDs) is supplied to the server terminal 211-1, the server terminal 211-1 checks whether the same object ID is already used in the other client terminals 213-2 and 213-3. If this new object ID is not used on these client terminals, the server terminal allows these client terminal to use this new object ID.
If the cylindrical object 201 is no longer necessary on the client terminal 213-1, for example, and therefore its object ID obj201 is used for another object, a message is sent from the client terminal 213-1 to the server terminal 211-1 asking for deletion of the obj201. Receiving the message, the server terminal 211-1 outputs a request for the deletion of obj201 to the other client terminals 213-2 and 213-3. Receiving this deletion message, the client terminals 213-2 and 213-3 output a signal of permitting the deletion if the object ID obj201 is not used on these client terminals.
When the deletion permitting signal comes from both the client terminals 213-2 and 213-3, the server terminal 211-1 instructs the client terminals 213-1 through 213-3 to delete that object ID. Each client terminal actually deletes that ID as instructed.
As described above, each client terminal cannot freely perform such operations as reassignment (reuse) of an object ID previously used for a specific object to another object by deleting the former object. Therefore, it is required for each client terminal to allocate a number of object IDs which is greater than actually necessary for each client terminal.
On the other hand, although the above-mentioned inconvenience is involved, in a closed system built through the LAN as shown in FIG. 29, is not used by unspecified users outside the company or laboratory in which the system is installed, and all client terminals 213-1 through 213-3 are always connected to the server terminal 211-1, so that the allocation of object IDs can be determined in a centralized manner, namely the system can be controlled by the global IDs alone.
However, for a system in which unspecified users connect to a server terminal via a communication network at any time to share a three-dimensional virtual reality space, all client terminals are not always connected to the server terminal. For this reason, it is extremely difficult to transfer messages with all client terminals for addition and deletion of object IDs according to the needs for the addition and deletion of object IDs on each client terminal.